home *** CD-ROM | disk | FTP | other *** search
/ 64'er / 64ER_CD.iso / 92xx / 9201a.d64 / fraktale berge (.txt) < prev    next >
Commodore BASIC  |  1995-03-30  |  1KB  |  21 lines

  1. 1 POKE53281,0:PRINT"[147] FRAKTALE BERGE [146]":PRINT"[156]VON ALEX MAYRHOFER.":G=53272
  2. 2 POKE53280,0:INPUT"MAX. HOEHE (32-80)";H:IFH<32ORH>80THEN PRINT"[145]";:GOTO 2
  3. 3 FORI=1TO4:PRINT"HOEHE"I":";-H;"BIS"H;:INPUTH(I):H(I)=H(I)+128:NEXTI:H=H+128
  4. 4 INPUT"FAKTOR (0-1):";K:FORI=16500TO20724:POKEI,255:NEXT:POKE16500,H(1):EP=0
  5. 5 POKE16564,H(2):POKE20660,H(3):POKE20724,H(4):PRINT"BERECHNUNGSBEGINN"
  6. 6 FORI=6TO1STEP-1:S=2^I:FORY=0TO63STEPS:FORX=0TO63STEPS:AD=16500+X+Y*65+S*33
  7. 7 J=S*33:Z1=PEEK(AD-J):Z2=PEEK(AD+J):J=J-S:Z3=PEEK(AD-J):Z4=PEEK(AD+J)
  8. 8 Z=INT((Z1+Z2+Z3+Z4)/4+RND(1)*2*S+1-S)+1:AD(5)=AD-S*32.5:AD(6)=AD+S*32.5
  9. 9 PRINT"[145]";INT(EP)"[157]% BER.":IFABS(Z-128)>(H-128)THENZ=Z-S/2*SGN(Z-128)
  10. 10 Z(5)=INT((Z1+Z+Z3)/3+K):Z(6)=INT((Z4+Z+Z3)/3+K):Z(7)=INT((Z3+Z+Z2)/3+K)
  11. 11 Z(8)=INT((Z4+Z+Z1)/3+K):EP=EP+.07326:POKEAD,Z:AD(7)=AD+S/2:AD(8)=AD-S/2
  12. 12 FORQ=5TO8:C(Q)=PEEK(AD(Q)):IFC(Q)<>255ANDC(Q)<>0THENZ(Q)=(C(Q)+Z(Q))/2
  13. 13 IFABS(Z(Q)-128)>(H-128)THENZ(Q)=Z(Q)-S/2*SGN(Z(Q)-128)
  14. 14 POKEAD(Q),INT(Z(Q)):NEXTQ,X,Y,I:POKE53272,29:POKE53265,59:POKE53270,248
  15. 15 FORI=0TO999:POKE1024+I,213:POKE55296+I,102:NEXT:FORI=8192TO16191:POKEI,0
  16. 16 NEXT:FORY=0TO64:FORX=0TO64:AD=16500+Y*65+X:S=PEEK(AD):IFS<128THENS=128
  17. 17 S=S-128:U=2*(X+Y+13):TS=S-5*SGN(S):FORT=TSTOS:V=Y+90-T:B=INT(U/8)*8:BT=6+B-U
  18. 18 A2=8192+(VAND248)*39+B+V:D=2:W=T:P=PEEK(A2)AND(255-3*2^BT):IFS=0THEND=3:W=0
  19. 19 D=D-INT((WAND3)/3):POKEA2,PORD*2^BT:NEXTT,X,Y:POKE198,0:WAIT198,1:POKEG,21
  20. 20 POKE53265,27:PRINT"[147]P[207]43,0:P[207]44,32:P[207]45,0:P[207]46,64";:POKE631,13:POKE198,1
  21.